In a LAN, there may be one or more computer systems providing the functions of a file server for workstations coupled to the LAN. A typical file server provides disk retrieval and storage facilities. The computer systems which act as a file server may also provide a variety of other functions, such as those which are typically provided by a mainframe computer. For example, a mainframe computer may be running several applications at once such as a database program and a computer aided design (CAD) program, in addition to the application providing the file server functions for the workstations. An article entitled "LAN-Connected Workstations Via BNAv2, Part 1, The Origin, Design and Capabilities of LCW" by Robert A. Johnson and published in Unisphere in January 1992 is hereby incorporated by reference for its teachings on LANs and file servers.
A computer system which acts as a file server provides disk retrieval and storage facilities to workstations on the LAN. The workstation, through its Disk Operating System (DOS) and LAN card, communicates with the file server on the LAN. The disk facilities of the file server may appear as one or more disk drives to the workstation using DOS. These disk drives may be in addition to disk drives present in the workstation such as a floppy disk or a hard disk.
In some LAN systems, it is desirable to have "disk-less" workstations attached to the LANs in order to reduce costs, provide better security and data integrity, and to facilitate backup copying of data. Disk-less workstations, as the name implies, have no local disk drives. In these systems the disk drives attached to the file servers on the LAN provide the only data retrieval and storage facilities for the workstations. This centralizes the location of data storage facilities to only those computer systems on the LAN which provide the functions of a file server. Data integrity is thus enhanced since data is only stored in a few locations in the LAN. Data security is enhanced because users cannot copy programs and data onto removable media such as floppy disks.
Since disk-less workstation have no local disks, if the workstation is running DOS, it must somehow "boot" from a file server on the LAN. As used herein, the word "boot" means to initialize a system to run an operating system which is stored as a disk file. During the boot process, a DOS is loaded into a specific portion of the Random Access Memory, RAM, of the workstation. This is completed by a two step process which is invoked by a program running in the Read Only Memory Basic Input Output System, ROM-BIOS, in the workstation.
In the first of these two steps, the ROM-BIOS loads a small program called a bootstrap loader from a fixed location in disk storage into a specific portion of the RAM of the workstation and then passes control to this program. In the second step, the bootstrap loader locates the DOS code in the disk storage, loads the DOS into a specific portion of the RAM of the workstation and passes control to the DOS program. A book entitled "Inside the IBM PC", the fourth edition, written by Peter L. Norton, and published by Darby Press in 1992 is hereby incorporated by reference for its teaching on the operations of Personal Computers which use ROM-BIOS.
Thus, when a workstation performs the boot process, either during a cold boot process, which is performed when the workstation is turned on, or during a warm boot process which may be performed after a certain combination of keys are depressed, the bootstrap loader and the DOS are desirably easily accessible to the workstation on disk storage. Disk-less workstations as described above, however, do not have a floppy drive or hard disk and thus the bootstrap loader or the DOS must be retrieved from disk storage on a file server. In addition, even if the workstation has a floppy disk or hard disk, it may be desirable for security reasons to retrieve the bootstrap loader or the DOS program code from disk storage on a file server.
During the first step of the boot process, the ROM-BIOS of a workstation first generates a request for the bootstrap loader to be retrieved from a floppy disk device, if any, on the workstation. If this request is not successful, then the ROM-BIOS normally generates a request for the bootstrap loader to be retrieved from a hard drive, if any, on the workstation. In order to retrieve the bootstrap loader and the DOS from disk storage on a file server, it is desirable to modify this process.
One possible modification is to patch the ROM-BIOS to generate a request to read the bootstrap loader from disk storage on a file server instead of from a floppy disk or hard disk on the workstation. A modification similar to this is described in U.S. Pat. No. 5,109,515 to Laggis, et al. This modification, however, is not desirable since patching the ROM-BIOS reduces the portability and flexibility of the workstations. In addition, the bootstrap loader may also need to be modified to retrieve the DOS from the disk storage on the file server.
Another possible modification is to add a device to the workstation that intercepts one of the bootstrap loader retrieval requests generated by the ROM-BIOS. The device intercepts the bootstrap loader retrieval request from the ROM-BIOS, retrieves the bootstrap loader from a fixed location in the disk storage of a particular file server, and then transmits the bootstrap loader to the ROM-BIOS thus satisfying its request. In addition, requests by the bootstrap loader for the DOS object code are intercepted and satisfied by the device. This solution, however limits the flexibility of the system to the predetermined server and disk file. Furthermore, this solution adds a critical path which, if it fails, may cause a system-wide failure.